import Main from "@/components/main";
import { dynamicRouterAdd } from "@/libs/router-util"; // 引入动态路由

/**
 * iview-admin中meta除了原生参数外可配置的参数:
 * meta: {
 *  title: { String|Number|Function }
 *         显示在侧边栏、面包屑和标签栏的文字
 *         使用'{{ 多语言字段 }}'形式结合多语言使用，例子看多语言的路由配置;
 *         可以传入一个回调函数，参数是当前路由对象，例子看动态路由和带参路由
 *  hideInMenu: (false) 设为true后在左侧菜单不会显示该页面选项
 *  notCache: (false) 设为true后页面不会缓存
 *  access: (null) 可访问该页面的权限数组，当前路由设置的权限会影响子路由
 *  icon: (-) 该页面在左侧菜单、面包屑和标签导航处显示的图标，如果是自定义图标，需要在图标名称前加下划线'_'
 *  beforeCloseName: (-) 设置该字段，则在关闭当前tab页时会去'@/router/before-close.js'里寻找该字段名对应的方法，作为关闭前的钩子函数
 * }
 */

// 静态路由
export const constantRouter = [
  {
    path: "/login",
    name: "login",
    meta: { title: "Login - 登录1111", hideInMenu: true },
    component: () => import("@/view/login/login.vue")
  },
  {
    path: "/",
    name: "_home",
    redirect: "/home",
    component: Main,
    meta: { hideInMenu: true, notCache: true },
    children: [
      {
        path: "/home",
        name: "home",
        meta: {
          hideInMenu: true,
          title: "首页",
          notCache: true,
          icon: "md-home"
        },
        component: () => import("@/view/single-page/home")
      }
    ]
  },
  {
    path: "/401",
    name: "error_401",
    meta: { hideInMenu: true },
    component: () => import("@/view/error-page/401.vue")
  },
  {
    path: "/500",
    name: "error_500",
    meta: { hideInMenu: true },
    component: () => import("@/view/error-page/500.vue")
  },
  {
    path: "*",
    name: "error_404",
    meta: { hideInMenu: true },
    component: () => import("@/view/error-page/404.vue")
  }
  ,
  {
    path: "/inneruser/inneruseredit2",
    name: "inneruseredit2",
    meta: { hideInMenu: true },
    component: () => import("@/view/usermanager/inneruser/inneruseredit.vue")
  },  
  {
    path: "/inneruser3",
    name: "_inneruser3",
    redirect: "/inneruser3",
    component: Main,
    meta: {
      hideInMenu: true,
      notCache: true
    },
    children: [
      {
        path: "/inneruser/inneruseredit",
        name: "inneruseredit",
        meta: {
          hideInMenu: true,
          title: "用户详情",
          notCache: true,
          icon: "md-home"
        },
        component: () => import("@/view/usermanager/inneruser/inneruseredit.vue")
      }
    ]
  }
  ,  
  {
    path: "/inneruser4",
    name: "_inneruser4",
    redirect: "/inneruser4",
    component: Main,
    meta: {
      hideInMenu: true,
      notCache: true
    },
    children: [
      {
        path: "/inneruser/innergroupedit",
        name: "innergroupedit",
        meta: {
          hideInMenu: true,
          title: "用户组详情",
          notCache: true,
          icon: "md-home"
        },
        component: () => import("@/view/usermanager/inneruser/innergroupedit.vue")
      }
    ]
  },
    {
    path: "/userInfo2",
    name: "_userInfo2",
    redirect: "/userInfo2",
    component: Main,
    meta: {
      hideInMenu: true,
      notCache: true
    },
    children: [
      {
        path: "/userInfo",
        name: "userInfo",
        meta: {
          hideInMenu: true,
          title: "用户中心",
          notCache: true,
          icon: "md-home"
        },
        component: () => import("@/view/user-info.vue")
      }
    ]
  }
];

// 动态路由
export const appRouter = [...dynamicRouterAdd("router.js")];

export const routes = [...constantRouter, ...appRouter];

// 所有上面定义的路由都要写在下面输出
export default routes;
